iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
Software Development

來一場軟體開發學習之旅系列 第 24

Day 24:檔案處理(File Handling)

  • 分享至 

  • xImage
  •  

軟體不只是跑在記憶體裡,它往往需要 保存資料,以便下次繼續使用。這時候,檔案處理就登場了。
不論是日誌紀錄、設定檔、資料儲存,還是與外部系統交換資訊,檔案操作都是軟體開發不可或缺的技能。

  1. 開啟檔案
    在Python中,我們使用open()來開啟檔案:
    #開啟檔案 (讀取模式)
    f = open("example.txt", "r")
    content = f.read()
    print(content)
    f.close()

模式參數
"r":讀取模式(read)
"w":寫入模式(write,會覆蓋原檔)
"a":追加模式(append,不會刪掉原本的內容)
"b":二進位模式(binary,如圖片或音樂檔)

  1. 使用 with 管理檔案
    更好的方式是使用 with,它會自動關閉檔案,不需要呼叫 close():
    with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

  2. 讀取檔案的方法
    一次讀取全部內容
    with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

逐行讀取
with open("example.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())

讀取成清單
with open("example.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
print(lines)

  1. 寫入檔案
    with open("output.txt", "w", encoding="utf-8") as f:
    f.write("這是一行文字。\n")
    f.write("這是第二行文字。\n")
    如果檔案已經存在,"w" 模式會覆蓋原有內容。
    如果想要 追加,改用 "a" 模式:

with open("output.txt", "a", encoding="utf-8") as f:
f.write("新增一行內容。\n")

  1. 處理二進位檔案(圖片範例)
    讀取圖片或其他非文字檔案,可以用 "rb" 或 "wb" 模式:

#複製圖片
with open("image.jpg", "rb") as src:
data = src.read()

with open("copy.jpg", "wb") as dest:
dest.write(data)

  1. 結合錯誤處理
    檔案操作經常會遇到問題(檔案不存在、權限不足),建議搭配 try-except:
    try:
    with open("not_exist.txt", "r", encoding="utf-8") as f:
    print(f.read())
    except FileNotFoundError:
    print("檔案不存在,請檢查路徑!")

  2. 為什麼檔案處理很重要?
    持久化資料,讓資訊不會因程式結束而消失。
    應用場景廣泛,日誌系統、設定檔、儲存使用者資料。
    跨系統溝通,不同程式可以透過檔案交換資訊。

今天我們學會了Python的檔案處理,包括讀取、寫入、追加與二進位模式,並且結合錯誤處理,讓程式更加健壯。這是軟體開發的基礎能力,因為沒有資料,就沒有真正的應用。


上一篇
Day 23:異常處理與錯誤管理(Exception Handling & Error Management)
下一篇
Day 25:JSON 檔案處理(JSON Handling in Python)
系列文
來一場軟體開發學習之旅26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言